#pragma once

#define DIRECTINPUT_VERSION 0x0800

#include "NeroGame\NComponent.h"
#include "dinput.h"

class CameraController : public Game::NComponent
{ 
	enum Action
	{
		ACTION_FOWARD,
		ACTION_BACK,
		ACTION_STRAFE_RIGHT,
		ACTION_STRAFE_LEFT,
		ACTION_RESET,
		ACTION_COUNT
	};
	struct KeyBind
	{
		int ID;
		Action Action;
	};
	RTTI_DECLARATIONS(CameraController, Game::NComponent)
public:
	CameraController(void);
	virtual ~CameraController(void);
	void Initialize(Engine::NEntity* owner);
	void Deinitialize();
	void Update(float deltaTime);
	void SetData(ComponentInfo data){}
private:
	KeyBind mBinding[ACTION_COUNT];
};